Для решения этой проблемы необходимо перед вызовом
cmd_Dial() через
DAHDI выставить
CALLERID так, чтобы номер содержал только допустимые символы, а именно:
цифры,
возможно с префиксом-модификатором типа
PRI dialplan.
// AEL2 dialplan snapshot
// Фрагмент номерного плана в AEL2
context dhadi-dialout {
_1XX => {
Set(CALLERID(num)=u200); # Номер вызывающего будет содержать установленный бит Unknoun
Dial(DAHDI/G1/N3833456789,,); # Номер вызываемого будет содержать установленный бит National
};
};
Ошибка, как правило, возникает в случае, когда SIP-абоненты заведены как [user-101] и иммет место быть попытка позвонить через DAHDI от такго пользователя SIP.
Тогда получается, что в DAHDI передаётся номер вызывающего АОН(CallerID)
user-101 и DAHDI воспринимает
user- как некорректные NPI модификаторы.
Список NPI модификаторов(из
chan_dahdi.conf):
; pridialplan may be also set at dialtime, by prefixing the dialed number with
; one of the following letters:
; U - Unknown
; I - International
; N - National
; L - Local (Net Specific)
; S - Subscriber
; V - Abbreviated
; R - Reserved (should probably never be used but is included for completeness)
;
; Additionally, you may also set the following NPI bits (also by prefixing the
; dialed string with one of the following letters):
; u - Unknown
; e - E.163/E.164 (ISDN/telephony)
; x - X.121 (Data)
; f - F.69 (Telex)
; n - National
; p - Private
; r - Reserved (should probably never be used but is included for completeness)